package com.fpx.order.plat.bussiness.dao.order;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.fpx.order.plat.bussiness.entity.OriginOrder;

/**
 * desc: 订单信息dao接口
 * @author xiangtao(xiangtao@4px.com)
 * @date 2015年12月3日 下午5:01:28
 * @version 1.0
 */
@Repository("originOrderDao")
public interface IOriginOrderDao {
	/**
	 * 
	 * <p>Title: save</p>
	 * <p>Desc: 保存到原始订单表</p>
	 * @author xiangtao(xiangtao@4px.com)
	 * @date 2015年12月3日 下午5:03:28 
	 * @version 1.0
	 * @param originOrder
	 * @return
	 */
	int saveOriginoOrder(OriginOrder originOrder);
	
	/**
	 * 
	 * <p>Title: saveOrder</p>
	 * <p>Desc: 保存到OMS使用的订单表</p>
	 * @author xiangtao(xiangtao@4px.com)
	 * @date 2015年12月4日 上午11:28:36 
	 * @version 1.0
	 * @param originOrder
	 * @return
	 */
	int saveOrder(OriginOrder originOrder);
	
	/**
	 * 
	 * <p>Title: find</p>
	 * <p>Desc: 根据订单对象属性查询原始订单集合</p>
	 * @author xiangtao(xiangtao@4px.com)
	 * @date 2015年12月3日 下午5:28:51 
	 * @version 1.0
	 * @param originOrder
	 * @return
	 */
	List<OriginOrder> findOriginOrder(OriginOrder originOrder);
	
	/**
	 * 
	 * <p>Title: findOrder</p>
	 * <p>Desc: 根据订单对象属性查询OMS订单集合</p>
	 * @author xiangtao(xiangtao@4px.com)
	 * @date 2015年12月4日 下午12:24:16 
	 * @version 1.0
	 * @param originOrder
	 * @return
	 */
	List<OriginOrder> findOrder(OriginOrder originOrder);
	/**
	 * 
	 * <p>Title: findDeliveryOrder</p>
	 * <p>Desc:查询需要同步的订单 </p>
	 * @author xiangtao(xiangtao@4px.com)
	 * @date 2015年12月7日 下午7:15:20 
	 * @version 1.0
	 * @param originOrder
	 * @return
	 */
	List<OriginOrder>  findDeliveryOrder(OriginOrder originOrder);
	
	/**
	 * 
	 * <p>Title: updateDeliveryStatus</p>
	 * <p>Desc: </p>
	 * @author xiangtao(xiangtao@4px.com)
	 * @date 2015年12月7日 下午3:53:49 
	 * @version 1.0
	 * @param orderCodes
	 * @param upload_ship_code
	 * @param plat_code
	 * @return
	 */
	int updateDeliveryStatus(@Param("orderCodes")List<String> orderCodes,@Param("upload_ship_code")String upload_ship_code,@Param("plat_code")String plat_code);
	
	/**
	 * 
	 * <p>Title: findPageOriginOrder</p>
	 * <p>Desc: 分页查询原始订单表</p>
	 * @author xiangtao(xiangtao@4px.com)
	 * @date 2016年1月7日 上午11:29:44 
	 * @version 1.0
	 * @param map
	 * @return
	 */
	List<OriginOrder> findPageOriginOrder(Map<String,Object>map);
	
	/**
	 * 
	 * <p>Title: findCountOriginOrder</p>
	 * <p>Desc: 查询记录数</p>
	 * @author xiangtao(xiangtao@4px.com)
	 * @date 2016年1月7日 下午12:40:34 
	 * @version 1.0
	 * @param map
	 * @return
	 */
	int findCountOriginOrder(Map<String,Object>map);
}

